FIT2-2024b 第02回 繰り返しと場合分け
今日のゴール
Pyxelで出来ることの理解を広げ、ミニプロのイメージを膨らませる
サンプルゲーム複数の紹介
SAの成果物紹介
Visual Studio Codeを使って実際にPyxelを使ったコードを書く
Pyxelの描画関連関数の理解
for文 / if文を使った図形描画
成績関連
課題提出複数あり
小テストあり (for/ifの書き方)
前回授業の振り返り
運用のアナウンス忘れ
3遅刻 = 1欠席として扱います
欠席があっても評点影響は-1,2点程度
環境構築はできていますか?
https://gyazo.com/79669922db2bfcacc39bda5395a3ac97
file > Open Folder > (自分で作成した情報基礎2用のフォルダ) をしておくと◎
VSCode上でターミナルを起動
https://gyazo.com/1d34155c3974ab7c994202b2961d0feb
ターミナルにて pyxel コマンドを実行
https://gyazo.com/aa1f99d109c2baf78461b75e51730cfd
Pyxel 2.2.3 と表示されていればOK
※数字の一致も大事です、コードの書き方が変わることがあります
いずれも不備がある方は挙手後SAに助けを求めてください
主要な振り返り事項
helloworld.pyの中身
code:python3
import pyxel # pyxelを読み込む c.f. import math
pyxel.init(120, 120) #INITialize ウィンドウを横120x縦120サイズで初期化 pyxel.cls(7) # CLearScreen 画面全体を7番の色(=白)で塗りつぶす
pyxel.text(20, 20, 'Hello, world!', 0) # 座標(20,20)に'Hello, world!'という文字を0番の色(=黒)で描画
pyxel.show() # 前述の内容全てを画面に描画(反映)する
参考:カラーパレット
https://gyazo.com/052576fa11311cb2f513ee3548c0a002
レトロゲームは制約が多数、色も16色のみ
実行結果
https://gyazo.com/d604e6a33e0132175d5a18b910d0dc3e
プログラムを実行するには…
terminal / powershellから pyxel run ファイル名
※ファイル名を指定するときは「絶対パス」or「カレントディレクトリからの相対パス」
絶対パスで起動
pyxel run /Users/1tsuki/Documents/fit2/hello.py
相対パスで起動
cd /Users/1tsuki/Documents/fit2
pyxel run hello.py
ゲームの紹介
terminalで pyxel copy_examples を実行
実際に動くpythonのコードが複数ダウンロードされます
06_click_gameはスイカゲームのエッセンスあり
07_snake_gameも王道
10_platformerは力作ですね
可能ならSAさんも
留意:自分で実際に実装した箇所しか採点対象に含まれません
サンプルゲームや授業の成果物を土台に開発することは問題ありませんが、自分で追加した行のみが採点対象となります
今日のゴール
pyxelでコードを書いてみよう
各自手元で同じように操作しながらコードを書き、実行してみてください
小テスト
11:20分開始
出題範囲はfor文、if文
テストまでの残時間でb-4-1, b-5-1, (余裕があれば) b-5-3まで 実施
本日の提出課題
練習問題B-2-1 ~ B-5-3まで全て
B-2-3, B-5-2は応用課題です
必須提出ではありませんが、課題点に含まれます
Sを取りたい方は是非解いてください
SOLからファイルを提出すること
提出期日は「次の土曜日23:59」で運用しますが、授業時間内に完了することを推奨します